package sv.gob.mtps.hr.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import sv.gob.mtps.hr.model.CatEstadoEmpleado;
import sv.gob.mtps.hr.model.CatEstadocivil;
import sv.gob.mtps.hr.model.CatGenero;
import sv.gob.mtps.hr.model.CatNacionalidad;
import sv.gob.mtps.hr.model.DepMunVw;
import sv.gob.mtps.hr.model.SferhEmpleado;
import sv.gob.mtps.hr.model.SferhExpediente;

@Repository
public class RegistroExpedienteDAOImpl implements RegistroExpedienteDAO{
	
	@Autowired
    private SessionFactory sessionFactory;

	@Override
	public void addSferhExpediente(SferhExpediente SferhExpediente) {
		// TODO Auto-generated method stub
		sessionFactory.getCurrentSession().save(SferhExpediente);
	}

	@Override
	public void editSferhExpediente(SferhExpediente SferhExpediente) {
		// TODO Auto-generated method stub
		sessionFactory.getCurrentSession().update(SferhExpediente);
	}

	@Override
	public List<SferhExpediente> listSferhExpediente() {
		// TODO Auto-generated method stub
		String hql = "from SferhExpediente";
		return sessionFactory.getCurrentSession().createQuery(hql).list();
	}

	@Override
	public void removeSferhExpediente(Integer id) {
		// TODO Auto-generated method stub
		SferhExpediente sferhExpediente = (SferhExpediente)sessionFactory.getCurrentSession().load(SferhExpediente.class, id);
		if(sferhExpediente != null){
			sessionFactory.getCurrentSession().delete(sferhExpediente);
		}		
		
	}

	@Override
	public SferhExpediente findSferhExpediente(Integer id) {
		// TODO Auto-generated method stub
		return (SferhExpediente) sessionFactory.getCurrentSession().get(SferhExpediente.class, id);
	}

	@Override
	public List<SferhExpediente> listSferhExpediente(int id) {
		// TODO Auto-generated method stub
		String hql = "from SferhExpediente where sferhEmpleado.idEmpleado="+id;
		return sessionFactory.getCurrentSession().createQuery(hql).list();
	}

	

}
